for ( i = 0; i < handler_num; i++ ) {
if (handlers[i].owned_error(binfo.mib->mc_status))
{
- handlers[i].recovery_handler(binfo.bank, &binfo, &mca_res);
+ handlers[i].recovery_handler(&binfo, &mca_res);
if (mca_res.result & MCA_OWNER)
binfo.mib->mc_domid = mca_res.owner;
return rec;
}
-static void intel_memerr_dhandler(int bnum,
+static void intel_memerr_dhandler(
struct mca_binfo *binfo,
struct mca_handle_result *result)
{
return;
}
- mci_add_pageoff_action(bnum, binfo->mi, mfn, status);
+ mci_add_pageoff_action(binfo->bank, binfo->mi, mfn, status);
/* This is free page */
if (status & PG_OFFLINE_OFFLINED)
return 1;
}
-static void intel_default_dhandler(int bnum,
+static void intel_default_dhandler(
struct mca_binfo *binfo,
struct mca_handle_result *result)
{
type = intel_check_mce_type(status);
if (type == intel_mce_fatal || type == intel_mce_ucr_srar)
- result->result = MCA_RESET;
+ result->result = MCA_NEED_RESET;
else if (type == intel_mce_ucr_srao)
result->result = MCA_NO_ACTION;
}
{default_check, intel_default_dhandler}
};
-static void intel_default_uhandler(int bnum,
+static void intel_default_uhandler(
struct mca_binfo *binfo,
struct mca_handle_result *result)
{
/* Panic if no handler for SRAR error */
case intel_mce_ucr_srar:
case intel_mce_fatal:
- result->result = MCA_RESET;
+ result->result = MCA_NEED_RESET;
break;
default:
result->result = MCA_NO_ACTION;